import {combineReducers} from 'redux';
import counter1 from './counter1';
import counter2 from './counter2';
const reducers = {
    counter1,
    counter2
}
/**
 * combineReducers接受一个对象作为参数
 * 该对象的每个键代表不同的状态切片，并对应一个处理该状态切版的reducer函数
 * 该reducer函数在调用时会将传入的state对象切分成与之匹配的切片部分，并将每个部分传递给各自的 reducer函数
 * 第一次渲染的时候.根状态或者说总状态初始值
 * let rootState = {
 *    counter1:{number:0},
 *    counter2:{number:0}
 * }
 * 更新的时候，比如向仓库派发了一个动作{type:ADD1}
 * 会由合并后的rootReducer来处理
 * 会先状态进行拆分， rootState.counter1取出来，传给counter1这个reducer,
 * 计算出新的状态，再赋给rootState.counter1这个状态切片
 */
const rootReducer = combineReducers(reducers);
export default rootReducer;
//reducers和rootState都是对象，数据结构是一样的
//属性的数量和名称是一样，值是不一样， reducers属性值是reducer函数，rootState的
//属性值是reducer计算出来的状态对象